package start.spring.basic.util.common;

/**
 * 
 * ****************************************************************************
 * xss校验工具类
 *
 * @author(作者)：xuyongyun	
 * @date(创建日期)：2020年5月13日
 ******************************************************************************
 */
public class XssUtil {

	/**
	 * 
	 * xss校验
	 *	
	 * @param value
	 * @return
	 * @since           1.0
	 */
	public static String clearXss(String value) {
		if (value == null || "".equals(value)) {
            return value;
        }
		   
        value = value.replaceAll("<", "&lt;").replaceAll(">", "&gt;");
       
        
		if(value.toLowerCase().indexOf("eval")>-1){
        	value = value.replaceAll("(?i)eval", "evaleval");
        }
        if(value.toLowerCase().indexOf("script")>-1){
        	value = value.replaceAll("(?i)script", "scriptscript");
        }
        if(value.toLowerCase().indexOf("alert")>-1){
        	value = value.replaceAll("(?i)alert", "alertalert");
        }
        if(value.toLowerCase().indexOf("confirm")>-1){
        	value = value.replaceAll("(?i)confirm", "confirmconfirm");
        }
        if(value.toLowerCase().indexOf("prompt")>-1){
        	value = value.replaceAll("(?i)prompt", "promptprompt");
        }
        if(value.toLowerCase().indexOf("function")>-1){
        	value = value.replaceAll("(?i)function", "functionfunction");
        }
        if(value.toLowerCase().indexOf("onerror")>-1){
        	value = value.replaceAll("(?i)onerror", "onerroronerror");
        }
        if(value.toLowerCase().indexOf(".cookie")>-1){
        	value = value.replaceAll("(?i).cookie", "cookiecookie");
        }
        if(value.toLowerCase().indexOf(".location")>-1){
        	value = value.replaceAll("(?i).location", "locationlocation");
        }
        if(value.toLowerCase().indexOf(".href")>-1){
        	value = value.replaceAll("(?i).href", "hrefhref");
        }
        return value;
	}
}
